package educar.gui;

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.JLabel;
import javax.swing.JComboBox;
import javax.swing.JLayeredPane;
import javax.swing.JTextField;
import javax.swing.JButton;

import educar.controllers.AdminDocenteCargoController;
import educar.models.Cargo;
import educar.models.Facultad;


public class AdminDocenteCargoView extends JFrame implements IView
{

    private static final long serialVersionUID = 1L;

    private static final String ASIGNAR = "Asignar";
    private final JLayeredPane ADCargoPane = new JLayeredPane();

    private JPanel ADCargoContentPane;
    private JTextField ADCargoDedicacionField;
    private JComboBox ADCargoFacultadBox;
    private JComboBox ADCargoCargoBox;

    GenericListener listener;

    /**
     * Create the frame.
     */
    public AdminDocenteCargoView()
    {

        listener = new GenericListener();

        this.setVisible(true);
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        setBounds(100, 100, 450, 300);

        String[] facultades = Facultad.getAllCodigosArray();
        String[] cargos = Cargo.getAllCargosArray();

        ADCargoContentPane = new JPanel();

        ADCargoContentPane.setBackground(UIManager.getColor("List.dropCellBackground"));
        ADCargoContentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        ADCargoContentPane.setLayout(new BorderLayout(0, 0));
        setContentPane(ADCargoContentPane);
        ADCargoContentPane.add(ADCargoPane, BorderLayout.CENTER);

        JLabel ADCargoFacultadLabel = new JLabel("Facultad");
        ADCargoFacultadLabel.setBounds(12, 43, 70, 15);
        ADCargoPane.add(ADCargoFacultadLabel);

        ADCargoFacultadBox = new JComboBox(facultades);
        ADCargoFacultadBox.setBounds(113, 38, 224, 24);
        ADCargoPane.add(ADCargoFacultadBox);

        JLabel ADCargoAsignacionCargoLabel = new JLabel("Asignacion de cargo");
        ADCargoAsignacionCargoLabel.setBounds(12, 0, 171, 15);
        ADCargoPane.add(ADCargoAsignacionCargoLabel);

        JLabel ADCargoCargoLabel = new JLabel("Cargo");
        ADCargoCargoLabel.setBounds(12, 90, 70, 15);
        ADCargoPane.add(ADCargoCargoLabel);

        ADCargoCargoBox = new JComboBox(cargos);
        ADCargoCargoBox.setBounds(113, 85, 224, 24);
        ADCargoPane.add(ADCargoCargoBox);

        JLabel ADCargoDedicacionLabel = new JLabel("Dedicacion");
        ADCargoDedicacionLabel.setBounds(12, 139, 90, 15);
        ADCargoPane.add(ADCargoDedicacionLabel);

        ADCargoDedicacionField = new JTextField("");
        ADCargoDedicacionField.setBounds(113, 137, 114, 19);
        ADCargoPane.add(ADCargoDedicacionField);
        ADCargoDedicacionField.setColumns(10);

        JButton ADCargoAsignarButton = new JButton(ASIGNAR);
        ADCargoAsignarButton.setBounds(220, 193, 117, 25);
        ADCargoPane.add(ADCargoAsignarButton);


        AdminDocenteCargoController  c = new AdminDocenteCargoController();
        c.setView(this);
        listener.associate(ADCargoAsignarButton, c);

    }

    public void close()
    {
        this.setVisible(false);
    }


    public String getDedicacion()
    {
        return ADCargoDedicacionField.getText();
    }

    public String getCodFacultad()
    {
    	String facultad  = (String)ADCargoFacultadBox.getSelectedItem(); 
        return (facultad.substring(facultad.lastIndexOf('-')+1).trim());
    }

    public String getCodCargo()
    {
    	String cargo = (String)ADCargoCargoBox.getSelectedItem(); 
        return (cargo.substring(cargo.lastIndexOf('-')+1).trim());
    }


    public void present(String model)
    {
        JOptionPane.showMessageDialog(null, model);
    }

}
